
using System;
using System.Collections.Generic;
using System.Text;
using ScrewTurn.Wiki.PluginFramework;

namespace ScrewTurn.Wiki {

	/// <summary>
	/// Contains instances of the Providers Collectors.
	/// </summary>
	public static class Collectors {

		private static ProviderCollector<IUsersStorageProvider> users;
		private static ProviderCollector<IPagesStorageProvider> pages;
		private static ProviderCollector<IFormatterProvider> formatters;
		private static ProviderCollector<IUsersStorageProvider> dUsers;
		private static ProviderCollector<IPagesStorageProvider> dPages;
		private static ProviderCollector<IFormatterProvider> dFormatters;

		/// <summary>
		/// Gets or sets the Users Provider Collector instance.
		/// </summary>
		public static ProviderCollector<IUsersStorageProvider> UsersProviderCollector {
			get { return users; }
			set { users = value; }
		}

		/// <summary>
		/// Gets or sets the Pages Provider Collector instance.
		/// </summary>
		public static ProviderCollector<IPagesStorageProvider> PagesProviderCollector {
			get { return pages; }
			set { pages = value; }
		}

		/// <summary>
		/// Gets or sets the Formatter Provider Collector instance.
		/// </summary>
		public static ProviderCollector<IFormatterProvider> FormatterProviderCollector {
			get { return formatters; }
			set { formatters = value; }
		}

		/// <summary>
		/// Gets or sets the Disabled Users Provider Collector instance.
		/// </summary>
		public static ProviderCollector<IUsersStorageProvider> DisabledUsersProviderCollector {
			get { return dUsers; }
			set { dUsers = value; }
		}

		/// <summary>
		/// Gets or sets the Disabled Pages Provider Collector instance.
		/// </summary>
		public static ProviderCollector<IPagesStorageProvider> DisabledPagesProviderCollector {
			get { return dPages; }
			set { dPages = value; }
		}

		/// <summary>
		/// Gets or sets the Disabled Formatter Provider Collector instance.
		/// </summary>
		public static ProviderCollector<IFormatterProvider> DisabledFormatterProviderCollector {
			get { return dFormatters; }
			set { dFormatters = value; }
		}

	}

}
